<?php

namespace App\Tables;

use Illuminate\Database\Eloquent\Model;

class OrderPayment extends Model
{
    protected $appends = [
        'pay_mode_text',
        'status_text'
    ];

    /**
     * 生成订单号
     * @return string
     */
    public function makePaymentSn()
    {
        return strtoupper(uniqid(date('Ymdh')));
    }

    /**
     * 支付方式
     * @return string
     */
    public function getPayModeTextAttribute()
    {
        if (isset($this->attributes['pay_mode'])) {
            switch ($this->attributes['pay_mode']) {
                case 'alipay':
                    return '支付宝';
                case 'wxpay':
                    return '微信支付';
                case 'balance':
                    return '余额支付';
                case 'score':
                    return '积分支付';
            }
        }

        return '';
    }

    /**
     * 支付状态
     * @return string
     */
    public function getStatusTextAttribute()
    {
        if (isset($this->attributes['status'])) {
            switch ($this->attributes['status']) {
                case 'wait_pay':
                    return '待付款';
                case 'refund':
                    return '退款';
                case 'paid':
                    return '已支付';
            }
        }

        return '';
    }
}
